// 封装分类数据业务相关代码
import { getCategoryAPI } from "@/apis/category";
import { ref, onMounted } from "vue";
import { onBeforeRouteUpdate, useRoute } from "vue-router";

export function useCategory() {
  const categoryData = ref({});
  const route = useRoute();
  const getCategory = async (id = route.params.id) => {
    const res = await getCategoryAPI(id);
    categoryData.value = res.result;
  };

  onMounted(() => {
    getCategory();
  });
  // 期望路由参数变化时 把分类接口重新发 banner不发
  onBeforeRouteUpdate((to) => {
    // 存在问题：需要使用最新的 但是 route.id不是最新的 to 目标路由对象
    getCategory(to.params.id);
    console.log("路由变化了");
  });
  return {
    categoryData,
  };
}
